package com.pxl.springbootinit.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.pxl.springbootinit.model.dto.item.ItemForm;
import com.pxl.springbootinit.model.entity.Item;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pxl.springbootinit.model.vo.ItemVO;
import com.pxl.springbootinit.model.vo.RankVO;
import com.pxl.springbootinit.model.vo.StatisticsItemVO;

import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.net.URISyntaxException;
import java.util.List;
import java.util.concurrent.ExecutionException;

/**
* @author MADAO
* @description 针对表【item(物品信息表)】的数据库操作Service
* @createDate 2024-12-20 12:02:23
*/
public interface ItemService extends IService<Item> {

    Boolean publishItem(ItemForm itemForm);

    Page<ItemVO> itemPage(ItemForm itemForm);

    List<String> itemTypes();

    List<String> itemAllTypes();

    Boolean updateItem(ItemForm itemForm);

    List<RankVO> rank(Integer nums);

    StatisticsItemVO statistics() throws ExecutionException, InterruptedException;

    List<String> itemPictures(HttpServletRequest request) throws IOException, URISyntaxException;

    ItemVO getItemVO(Item item);

    Page<ItemVO> adminPage(ItemForm itemForm);
}
